有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Lombok注释不在Intellij idea下编译

  1. 我已经为intellij idea安装了插件(lombok-plugin-0.8.6-13)
  2. 加入龙目。jar进入类路径
  3. 我可以在结构窗口中找到getter和setter。Intellij没有显示错误
  4. 设置-Lombok插件-Verified Intellij配置为Lombok,显示“Intellij的配置似乎正常”

看起来一切都很好。但是当我编译一个测试时,错误来了:找不到getXXX和setXXX方法

我打开门。用IntelliJ初始化文件,并发现没有setXXX和getXXX方法

谁能告诉我为什么

  • 插件:lombok-plugin-0.8.6-13
  • 龙目山。jar:1.14.0
  • 想法:适用于linux的13.0.2
  • jdk:1.7.0_21

共 (6) 个答案

  1. # 1 楼答案

    如果你在Mac上使用Intellij,这个设置最终对我有效

    安装:Intellij

    1. 转到首选项,搜索插件
    2. 在插件搜索框中键入“Lombok”。Lombok是一个非捆绑的插件,所以它一开始不会显示
    3. 单击“浏览”搜索非捆绑插件
    4. “Lombok插件”应该会出现。选择它
    5. 单击绿色的“安装”按钮
    6. 单击“重新启动Intellij IDEA”按钮

    设置:

    1. 启用注释处理器

      • 转到首选项->;构建、执行、部署-->;偏好->;编译器->;注释处理器
      • 文件->;其他设置->;默认设置->;编译器->;注释处理器
    2. 检查Lombok插件是否已启用

      • IntelliJ IDEA->;偏好->;其他设置->;Lombok插件->;启用龙目
    3. 在全局库和项目依赖项中添加Lombok jar

      • 文件-->;项目结构-->;全局库(添加lombok.jar)
    4. 文件-->;项目结构-->;项目设置-->;模块-->;依赖项选项卡=检查lombok

    5. 重新启动Intellij

  2. # 2 楼答案

    对我来说,lombok插件和注释处理都支持所需的功能,而不是其他功能。无需使用Eclipse和附加的javaagent:lombok。jar选项

    • 想法14.1.3,构建141.1010
    • Lombok插件[首选项->;插件->;浏览存储库->;搜索“Lombok”->;安装并重新启动idea
    • 偏好->;搜索“注释”->;输入注释处理器->;启用注释处理
  3. # 3 楼答案

    在花了太多时间解决这个问题之后,我找到了一个简单的解决方法,可以确保IntelliJ在构建过程中正确处理Lombok注释

    gradle lombok插件对于此解决方案不是必需的。您的build.gradle只需要以下内容:

    dependencies {
        compileOnly("org.projectlombok:lombok:1.16.18")
    }
    

    解决方法是启用以下IntelliJ设置:

    1. 打开IntelliJ首选项/设置
    2. 导航到Build, Execute, Deployment > Build Tools > Gradle > Runner
    3. 选中标有Delegate IDE build/run actions to gradle的框


    与本页上的其他解决方案相比,此解决方案的优点:

    • 无需注释处理
    • 能够使用您选择的Java编译器(无需Eclipse编译器)
    • 不使用buggy gradle lombok插件(尽管也许其他人可以解决这个问题)
    • 不需要虚拟机选项
    • 没有到lombok jar的硬编码路径

    一个缺点是IntelliJ将不再使用自己的测试运行程序。相反,测试总是通过Gradle运行

  4. # 4 楼答案

    要解决问题集,请执行以下操作:

    • 首选项(Ctrl+Alt+S
      • 构建、执行、部署
        • 编译程序
          • 注释处理器
            • 启用批注处理

    确保已安装用于IntelliJ的Lombok插件

    • 首选项->插件
    • 搜索“Lombok插件”
    • 单击浏览存储库
    • 选择Lombok插件
    • 安装
    • 重新启动IntelliJ
  5. # 5 楼答案

    我按照这个程序来处理类似/相同的错误

    mvn理念:清洁

    mvn理念:理念

    之后,我可以从IDE intellij和命令行进行构建

  6. # 6 楼答案

    如果您将Eclipse编译器与lombok一起使用,此设置最终对我有效:

    • 想法14.1
    • Lombok插件
    • …/编译器/Java编译器>;使用编译器:Eclipse
    • …/编译器/注释处理器>;启用批注处理:已选中(默认配置)
    • …/编译器>;其他构建过程VM选项:(共享构建过程VM选项)-javaagent:lombok。jar

    最重要的部分是最后一个,我的如下所示: enter image description here

    IntelliJ编辑器需要插件来识别getter和setter,eclipse编译器需要javaagent来使用lombok进行编译